/**
 * 
 *  Este arquivo é parte do programa TODO Ver nome. TODO Ver nome é um software livre; você pode redistribui-lo e/ou 
 *  modifica-lo dentro dos termos da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); 
 *  na versão 2 da Licença, ou (na sua opnião) qualquer versão.
 *  
 *	Este programa é distribuido na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem uma garantia implicita
 *  de ADEQUAÇÂO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU para maiores detalhes.
 *	Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este programa, se não, escreva para a Fundação do
 *	Software Livre(FSF) 
 *
 *	Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 * 
 */
package fullcalc.gui;

import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;

/**
 * <p>
 * Classe utilizada para validar o campo JTextField da calculadora.
 * </p>
 * 
 * @author Willyan Guimarães Caetano
 */
public class TextDocument extends PlainDocument {
	private int tamanhoMax = 12;

	public TextDocument() {
		super();
	}

	public TextDocument(int tamanho) {
		super();
		tamanhoMax = tamanho;
	}

	public void insertString(int offs, String str, AttributeSet a)
			throws BadLocationException {
		if (str == null)
			return;

		String oldString = getText(0, getLength());
		String newString = oldString.substring(0, offs) + str
				+ oldString.substring(offs);

		if (newString.length() > tamanhoMax) {
			super.insertString(offs, "", a);

		} else {
			super.insertString(offs, str, a);
		}

	}

}
